/**
 *
 * <p>Binary Search Tree.</p>
 *
 * <p>In-order traversal</p>
 *
 * <p>Pre-order traversal</p>
 *
 * <p>Post-order traversal</p>
 *
 * <p>Implementation: mostly use linked nodes with left and right child. Parent pointer may also be used to simplify some
 * operations, but with parent pointer, it's harder to implement persistent with history. To calculate dynamic order
 * statistics, we also need the size information stored at each node for the size of the subtree rooted at that node.</p>
 *
 * @author Trung Phan
 */
package net.tp.struct.bst;